大家好,我們是 AI . FREE Team - 人工智慧自由團隊,這一次的鐵人賽,自由團隊將從0到1 手把手教各位讀者學會 (1)Python基礎語法 (2)Python Web 網頁開發框架 – Django (3)Python網頁爬蟲 – 周易解夢網 (4)Tensorflow AI語言模型基礎與訓練 – LSTM (5)實際部屬AI解夢模型到Web框架上。
自由團隊的成立宗旨為開發AI/新科技的學習資源,提供各領域的學習者能夠跨域學習資料科學,並透過自主學習發展協槓職涯,結合智能應用到各式領域,無論是文、法、商、管、醫領域的朋友,都可以自由的學習AI技術。
AI . FREE Team 讀者專屬福利 → Python Basics 免費學習資源
歡迎各位學習 Python Basics 的讀者,參考自由團隊製作的教學影片!(目前教學影片仍持續拍攝、剪輯中,歡迎未來有興趣持續學習的讀者們,關注我們的 Youtube Channel ,我們將持續為各位讀者提供更多學習資源!)
Lesson00 Preface 課程前言
Lesson01 Variable 變數
Lesson02 Operator 運算子
Lesson03 Data Structure 資料結構
(讀者們在讀文章時,搭配實作 & Youtube 教學影片,可達到最大的學習效益喔!)
這一單元,我們要來介紹 Python 幾種常用的資料結構:list, range, set 和 dictionary。
列表是常見的資料結構,基礎特徵為:以中括號進行定義,且每一項物件以逗號分隔。列表中的物件可以是數值、字串、變數...,甚至是其他資料結構都可以作為列表中的物件。
list1 = ['C','Python',1969,1991] #創建列表
print(list1)
list2 = [1, 2, 3, 4, 5]
print(list2)
列表可以透過索引抓取其中的物件,而索引值也是從 0 開始進行計算(同字串的索引方式)。
print("list1[0]: ",list1[0]) # list1 的第一項為C
print("list2[1:5]: ",list2[1:5]) # list2 的"第二"到"第四"個物件
print(list1[2]) # 列表中第三個元素
print(list1[-2]) # 讀取列表中倒數第二個元素
print(list1[1:]) # 從第二個元素開始截取列表
若想知道列表中有幾個物件,可使用內建函式 len() 去獲得列表中的物件數量。
len([1, 2, 3]) # 結果回傳 3,列表中有三個物件
列表可以使用 append() 增加物件。
test=[] ## 空列表
test.append('1991') ## 使用 append() 添加元素
print(test) #print出來看看
用 del() 則可進行刪除物件。
del(test[0]) #把第一項刪除
print(test)
我們也可以使用 "+" 組合列表進行呈現。
A=[1,2,3]
B=[4,5,6]
print(A+B) # 組合[1, 2, 3] + [4, 5, 6]
重複使用列表則可用 "*"。
print(['Hi!'] * 4) # 變成一個列表中有四項Hi
列表就像個大書櫃,可以幫你整齊收納資料,隨時找出來做使用。
Range 的使用方式有固定的規則,並且可以使用索引。
常用於迴圈(Loop),宣告方式為 range(start, stop, step)
start : 計數從 start 為起點。如果沒有數字就是從0開始。
stop : 計數到 stop 為終點。但不包括 stop 的數字。
Step : 移動間距,沒寫就默認為1。
for i in range(5): # 0 ~ 4,但不包括5
print(i,end=",")
for i in range(3,10,2): # 從3開始,但不包括10,每次跳2 (3,5,...)
print(i,end=",")
for i in range(10,-30,-5): #也可以設定遞減的運算方式
print(i,end=",")
接下來,我們來看看實務上 range() 常見與其他語法的組合運用。
情境例題:
我們有六位學生,分別是 Jane, John, Mark, Harry, Mike 和 Ed,
今天我們要利用 Python 依序建立學生的座號清單,
並使用"列表"紀錄每個學生的座號對應到的名字,
我們該如何開始呢?
# 學生名單
student_names = ['jane','john','mark','harry','mike','ed']
# 建立一個空的學生座號清單
student_nums = []
# 開始進行學生座號編碼並新增於列表中
student_nums.append([1, student_names[0]])
student_nums.append([2, student_names[1]])
student_nums.append([3, student_names[2]])
student_nums.append([4, student_names[3]])
student_nums.append([5, student_names[4]])
student_nums.append([6, student_names[5]])
# 查看座號清單
print(student_nums)
是不是很簡單呢?透過整合應用,簡單的程式碼,可以快速處理很多複雜的行政工作!
set() 函式能創建一個無順序關係、且內容不重複的物件集。
因此,可進行關係測試,如計算交集、差集、並集等,還可以刪除重複的物件。
x = set('runoob')
y = set('google')
print(x,y)
x, y
print(x,y) # 重複的被刪除
x & y
print(x&y) # 交集
x|y
print(x|y) # 並集
x - y # 差集
print(x - y)
在字典中,每個物件中,都有一個特定 key 值會對應到一個 value,中間以冒號進行定義,
例 → “key1”: value1
每個物件之間同樣以逗號隔開,最後以大括號作為 dict 的定義。
dict = {'a': 1, 'b': 2, 'c': '3'}
print(dict)
dict3 = { 'abc': 123, 98.6: 37 }
print(dict3)
字典作為查資料的用途,用字典的名字 + 中括號,並透過 key 值進行索引,便能找出對應的 value。如果沒有相應的資訊,就會出現 error。
dict = {'Name': 'Soren', 'Age': 1000, 'Class': 'apple'}
print(dict['Name'])
我們也可以對原有的字典中,特定物件的 value 進行更新、修改
dict = {'Name': 'Lulu','Age':17,'Class':'math'}
dict['Name'] = 'jax'
dict['Age'] = 30
print(dict)
或是刪除 del ,
del dict['Name']
清空則只需要.clear(),
dict.clear()
在使用 dict ,有兩個重點:
1)不允許同一個 key 重複出現。 key 是唯一值,若同一個 key 被使用兩次,最後一個 value 會是最終值。
2)key 必須為不可變變數,所以我們無法用 list 作為key,如下實例:
dict = {['Name']:'Lulu', 'Age':17}
則會出現 Error。
第二天的課程,我們學習到 Python 常用的資料結構,以及它們基礎的語法。是不是覺得 Python 很好上手呢?沒錯!
還有一種資料結構是 Tuple,不過在【零基礎成為 AI 解夢大師秘笈】系列文章中不會使用到,若有興趣深入認識的讀者,請參考Python Basics 免費學習資源 _ Tuple!
每天一點一滴跟著自由團隊一起學習,讓我們從0基礎,三十天後一同成為 AI 解夢大師!
自由團隊 官方網站:https://aifreeblog.herokuapp.com/
自由團隊 Github:https://github.com/AI-FREE-Team/
自由團隊 粉絲專頁:https://www.facebook.com/AI.Free.Team/
自由團隊 IG:https://www.instagram.com/aifreeteam/
自由團隊 Youtube:https://www.youtube.com/channel/UCjw6Kuw3kwM_il39NTBJVTg/
文章同步發布於:自由團隊部落格
(想看更多文章?學習更多AI知識?敬請鎖定自由團隊的頻道!)